• 方东
  • b23 表情支持
  • 63 图片转存时,后缀名的计算问题
  • 69 移动文件夹
  • 70 后台也使用 markdown-it,与前端统一解析器
  • 67 api/markdown/repo-sync 接口增加 version、vcode 参数(可选)
  • 76 搜索关键词转义过滤,避免非法构造查询参数 es 搜索 转意
  • 80 接口访问频率限制
  • 注册账号问题
  • gogs webhook bug
  • cms 仿照 mynote 返回 sid as token
  • 方东
    lv1= lv2= type=

    b23 表情支持

    http://zentao.uninote.com.cn/zentao/bug-view-23.html
    注意,这个考虑整个系统对表情的支持,数据库默认编码改为 utf8-mb4,其他涉及的地方统计一下,一并修改
    ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 
    vi /etc/my.cnf.d/server.cnf
    innodb_large_prefix=on
    innodb_file_format = BARRACUDA
    重启
    mysqladmin 
    mysqladmin -uroot -proot  shutdown
    cd /etc/init.d
    ./mysql start
    ALTER TABLE article ROW_FORMAT=dynamic;
    # 再执行 更新 sql
    。。。
    vi /home/www/mynote/basic/config/local_db.php
            'charset' => 'utf8mb4',
    lv1= lv2= type=

    63 图片转存时,后缀名的计算问题

    http://zentao.uninote.com.cn/zentao/task-view-63.html
    http://d.dajxyl.com/php/manual/en/function.mime-content-type.php.html
                // images
                'png' => 'image/png',
                'jpe' => 'image/jpeg',
                'jpeg' => 'image/jpeg',
                'jpg' => 'image/jpeg',
                'gif' => 'image/gif',
                'bmp' => 'image/bmp',
                'ico' => 'image/vnd.microsoft.icon',
                'tiff' => 'image/tiff',
                'tif' => 'image/tiff',
                'svg' => 'image/svg+xml',
                'svgz' => 'image/svg+xml',
    lv1= lv2= type=

    69 移动文件夹

    http://zentao.uninote.com.cn/zentao/task-view-69.html
    前缀路径报错
    a > a/b
    a/b > a
    a > a
    OK:
    a/bb > a/b
    a/b > a/b2
    // windows 下目标 dir 不能已经存在
    $dir = dirname($article->newPath);
    if (!file_exists($dir)) {
        mkdir($dir, 0755, true);
    }
    delete_dir
    非 md/html 文件的处理
    判断是否是空文件夹,如果是,则先删除
    remove_dir > rename_dir,不要 copy,不要自己实现
    remove_empty_dir 待优化,非空则提前终止
    删除用户缓存目录下的空目录  -- 不需要
    软删除冲突:
    使用软删除的方式(status=0),导致新增、rename时无法插入到article表中,因此在插入前删除
    a > a/b
    a/b > a
    我试了,这两个在windowslinux上都无法实现的,所以我这里也没有必要实现,用户确实有这个需求,两步操作即可
    old/new: 任意一个是文件则报错
    rename(a,b)如果b是空文件夹,windows下报错
    file create dir(a/b/c), 不会创建 c
    lv1= lv2= type=

    70 后台也使用 markdown-it,与前端统一解析器

    http://zentao.uninote.com.cn/zentao/task-view-70.html
    es/db 中存储的,还是使用 PHP 版本转换的:
    - Marked 这里调用,目前结构不方便,因此不缓存;仅 show-html 时缓存,不是最优,但代码更简洁
    - 转换失败不要缓存,并做相应的前端提示
    缓存文件时间戳比较
    id 尽量保持一致
    node 编码检测 https://www.cnblogs.com/wang-jing/p/4739345.html
    base64 编码 path,解决 path 包含 emoji 的问题
    -- 部署
    cd /usr/bin && ln -s /usr/node10/bin/node

    67 api/markdown/repo-sync 接口增加 version、vcode 参数(可选)

    http://zentao.uninote.com.cn/zentao/task-view-67.html
    异步推送。force 参数
    reset 验证码 阿里云注册
    不传 version 时,不需要登录,传了则需要登录,因为需要验证码
    lv1= lv2= type=

    76 搜索关键词转义过滤,避免非法构造查询参数 es 搜索 转意

    http://zentao.uninote.com.cn/zentao/task-view-76.html
    对了。文章es搜索那个,搜索关键字没有过滤或者转移 最好改一下
    我刚试着构造一些攻击查询也是能执行的
     tet","analyzer":"8
    http://zentao.uninote.com.cn/zentao/bug-view-67.html

    80 接口访问频率限制

    http://zentao.uninote.com.cn/zentao/task-view-80.html

    注册账号问题

    http://video.dajxyl.com/video_play.html?video_url=https://admin.dajxyl.com/oss?path=video/upload/202109/20210921_113417.mp4

    gogs webhook bug

    http://video.dajxyl.com/video_play.html?video_url=https://admin.dajxyl.com/oss?path=video/upload/202110/20211003_221020.mp4
    lv1= lv2= type=

    cms 仿照 mynote 返回 sid as token

    Commit: dc3aeef182f6cea094621613c9222b997f1e637a [dc3aeef]
    Parents: 5b1e787c51 <rev://localhost/5b1e787c5175c2d1555231e6ff822fde87a4b816>
    Author: yuebin.chen <cyb@piaojuke.com>
    Date: 2021年10月3日 14:52:47
    Committer: yuebin.chen
    feat: unitoken 通过 URL 参数传递
    Commit: 217cf4ce4a47fc4c17d9421636a7cfc0304018f2 [217cf4c]
    Parents: 5c1a496afc <rev://localhost/5c1a496afc69ef1b99c3099ecc422cf5f7b3c307>
    Author: yuebin.chen <cyb@piaojuke.com>
    Date: 2021年10月3日 14:54:52
    Committer: yuebin.chen
    feat: unitoken 通过 URL 参数传递